package com.sky.service;

import com.sky.vo.RecommendationVO;
import java.util.List;

public interface RecommendationService {
    /**
     * 基于用户历史行为生成个性化推荐
     * @param userId 用户ID
     * @param limit 推荐数量
     * @return 推荐图书列表
     */
    List<RecommendationVO> getPersonalizedRecommendations(Integer userId, Integer limit);

    /**
     * 基于当前图书推荐相似图书
     * @param bookId 图书ID
     * @param limit 推荐数量
     * @return 相似图书列表
     */
    List<RecommendationVO> getSimilarBooks(Integer bookId, Integer limit);

    /**
     * 获取热门推荐
     * @param limit 推荐数量
     * @return 热门图书列表
     */
    List<RecommendationVO> getPopularBooks(Integer limit);

    /**
     * 记录用户行为（点击、收藏、评分等）
     * @param userId 用户ID
     * @param bookId 图书ID
     * @param actionType 行为类型
     */
    void recordUserAction(Integer userId, Integer bookId, String actionType);

    /**
     * 更新推荐列表
     * @param userId 用户ID
     */
    void updateRecommendations(Integer userId);
} 